home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
pluginy Firefox
/
220
/
220.xpi
/
install.js
< prev
next >
Wrap
Text File
|
2010-01-24
|
4KB
|
120 lines
const APP_DISPLAY_NAME = "FlashGot";
const APP_NAME = "flashgot";
const APP_PACKAGE = "/informaction/flashgot";
const APP_VERSION = "1.2.1.10";
const APP_PREFS_FILE="defaults/preferences/flashgot.js";
const APP_XPCOM_SERVICE="components/flashgotService.js";
const APP_JAR_FILE = "flashgot.jar";
const APP_CONTENT_FOLDER = "content/flashgot/";
const APP_LOCALES = [
"it-IT","th-TH","de-DE","nl-NL",
"ru-RU","es-ES","es-AR", "es-CL", // "ms-MY",
"hu-HU", "sv-SE","fr-FR", "fi-FI",
"he-IL","tr-TR","sr-YU", "ca-AD",
"zh-TW","zh-CN","el-GR", "uk-UA",
"lt-LT","ja-JP","pl-PL", "hr-HR",
"id-ID","cs-CZ","ko-KR", "be-BY",
"nb-NO","ro-RO","sk-SK",
"fa-IR","sl-SI","ar-JO",
"bg-BG","da-DK","pt-BR",
"pt-PT","sq-AL",
"am-HY","ar","ar-SA","hi-IN","km-KH",
"mn-MN","vi-VN","gl-ES",
"en-US"
];
const APP_SUCCESS_MESSAGE = APP_DISPLAY_NAME+" should now be available in your context menu when you restart Mozilla.";
var instToProfile = false;
myPerformInstall(false);
function myPerformInstall(secondTry) {
var err;
initInstall(APP_NAME, APP_PACKAGE, APP_VERSION);
var err;
initInstall(APP_NAME, APP_PACKAGE, APP_VERSION);
var profChrome = getFolder("Profile", "chrome");
if(!secondTry) {
File.remove(getFolder(profChrome, APP_JAR_FILE));
}
var chromef = instToProfile ? profChrome : getFolder("chrome");
err = addFile(APP_PACKAGE, APP_VERSION, "chrome/" + APP_JAR_FILE, chromef, null);
if(APP_PREFS_FILE && (err == SUCCESS) ) {
const prefDirs=[
getFolder(getFolder("Profile"),"pref"),
getFolder(getFolder(getFolder("Program"),"defaults"),"pref")
];
for(var j=prefDirs.length; j-->0;) {
var prefDir=prefDirs[j];
if(!File.exists(prefDir)) {
File.dirCreate(prefDir);
}
err = addFile(APP_PACKAGE, APP_VERSION, APP_PREFS_FILE, prefDir, null, true);
logComment("Adding "+APP_PREFS_FILE+" in "+prefDir+": exit code = "+err);
}
}
if(err == SUCCESS) {
var jar = getFolder(chromef, APP_JAR_FILE);
const chromeFlag=instToProfile?PROFILE_CHROME:DELAYED_CHROME;
registerChrome(CONTENT | chromeFlag, jar, APP_CONTENT_FOLDER);
var localesCount=APP_LOCALES.length;
if(localesCount>0) {
registerChrome(LOCALE | chromeFlag, jar, "content/flashgot/"+APP_LOCALES[--localesCount]+"/");
while(localesCount-- >0) {
registerChrome(LOCALE | chromeFlag, jar, "locale/"+APP_LOCALES[localesCount]+"/flashgot/");
}
}
registerChrome(SKIN | chromeFlag, jar, "skin/classic/flashgot/");
if(APP_XPCOM_SERVICE) {
var componentsDir = getFolder("Components");
/*
if (!(APP_XPCOM_SERVICE instanceof Array)) {
APP_XPCOM_SERVICE = [APP_XPCOM_SERVICE];
}
for (var s = APP_XPCOM_SERVICE.length; s-- > 0;)
addFile(APP_PACKAGE,APP_VERSION, APP_XPCOM_SERVICE[s], componentsDir, null, true);
*/
addFile(APP_PACKAGE,APP_VERSION, APP_XPCOM_SERVICE, componentsDir, null, true);
addFile(APP_NAME, "components/.autoreg", getFolder("Program"), "");
}
err = performInstall();
if(err == -239 && !secondTry) {
alert("Chrome registration problem, maybe transient, retrying...");
cancelInstall(err);
myPerformInstall(true);
return;
}
if(err == SUCCESS || err == 999) {
alert(APP_DISPLAY_NAME+" "+APP_VERSION+" has been succesfully installed in your " +
(instToProfile ? "profile" : "browser") +
".\n" + APP_SUCCESS_MESSAGE);
} else {
var msg = "Install failed!!! Error code:" + err;
if(err == -239) {
msg += "\nThis specific error is usually transient:"
+"\nif you retry to install again, it will probably go away."
}
alert(msg);
cancelInstall(err);
}
} else {
alert("Failed to create " +APP_JAR_FILE +"\n"
+"You probably don't have appropriate permissions \n"
+"(write access to your profile or chrome directory). \n"
+"_____________________________\nError code:" + err);
cancelInstall(err);
}
}